The identification of software applications on a computer is often desirable to communicate the status of the applications on the computer. For example, in a network environment, an administrator may desire to know the identification of software applications on a particular machine, or on multiple machines within the network. The information wanted by the administrator may include, as examples, application compatibility, vendor information, version information, or the like. Assembling such information by hand is often not a viable option, because the volume of the information may be prohibitive, and some information, such as version information, may constantly change due to updates or other changes on individual computers within the network. Moreover, if the information is gathered by an individual and entered into a database, the information may be prone to errors, and a search of the information may not result in all matches for the particular item for which the search is being conducted.